package com.schoolcloud.social.service;

import com.schoolcloud.common.model.PageDTO;
import com.schoolcloud.common.model.UserInfo;
import com.schoolcloud.social.dto.SocEventCreateDTO;
import com.schoolcloud.social.entity.SocEventParticipants;
import com.schoolcloud.social.query.EventJoinerQuery;
import com.schoolcloud.social.query.EventParticipantsQuery;
import com.schoolcloud.social.query.EventQuery;
import com.schoolcloud.social.query.EventRemarkQuery;
import com.schoolcloud.social.vo.EventDetailVO;
import com.schoolcloud.social.vo.EventJoinerVO;
import com.schoolcloud.social.vo.EventPersonInfoVO;
import com.schoolcloud.social.vo.EventReplyVO;

/**
 * 活动表的中间服务接口
 *
 * @author hongmizfb
 * @date 2025/03/02
 */
public interface EventInteractionService {

    void addEvent(SocEventCreateDTO socEvent);

    EventDetailVO getEventDetailById(Integer eventId);

    void updateEvent(SocEventCreateDTO socEvent);

    EventPersonInfoVO getEventPersonInfo(Integer userId);

    PageDTO<EventDetailVO> getEventVOPage(EventQuery query);

    void userJoinEvent(SocEventParticipants socEventParticipants);

    PageDTO<SocEventParticipants> getEventParticipantPage(EventParticipantsQuery eventParticipantsQuery);

    PageDTO<EventJoinerVO> getEventJoinerPage(EventJoinerQuery query);

    PageDTO<EventReplyVO> getEventRemarkPage(EventRemarkQuery query);
}
